home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-08-22 | 4.8 KB | 121 lines | [TEXT/GEOL] |
- Item 5484304 12-Aug-89 22:24
-
- From: MACDTS Macintosh Developer Tech. Supt.,APL
-
- To: JOHNMARK Stanford U, John Agosta
-
- cc: MACAPP.TECH$ MACAPP Tech
-
- Sub: Re: ß9 heartburn
-
- John,
-
- I'm sorry that things aren't working out. Hopefully, what Chris suggested and
- some of what I suggest will help:
-
- >Why does MABuild defaults enforce case sensitivity in calling asm? My
- >previously assembled files didn't assemble until I traced down all the case
- >changes in the assembly source code. (Also I got a linker error until I
- changed
- >an asm procedure label to upper case. ) Hey, I'd never admit to touching
- >assembly code. Someone who gave me the .o files was kind enough to include
- the
- >.a sources also. I write high level code, like objects.
-
- I don't know *WHY* MacApp enforces case sensitivity in the Assembler, but this
- is easily turned off. It is set in "Startup" in the MacApp folder. Look for
- where {MABuildDefaults} is defined. You'll see that there is a line "-Asm
- '-case on'". This can be cut out if it's causing you problems.
-
- >When I try to "pascal -p -c -i{MAPinterfaces} " my sources, to check them for
- >syntax, I get errors about unknown compile flags - e.g. qDebug, etc. Where
- does
- >MABuild set these?
-
- "qDebug" and a buttload of other compile time variables are set up during the
- MABuild process. What you may be able to do is leverage off of MABuild by
- including the "-c" option on its command line:
-
- MABuild -pascal '-c -p' MyProgram
-
- This may not be as fast as you've experienced in the past with non-MacApp
- programs, but it should work.
-
- >In Nothing.p -
- >RegisterStdType('TnothingView', 'dflt');
- >
- >What is this? I guess it asociates a view resource with my view. Where is it
- >documented? p. 92 of the General Reference, which describes "RegisterType" is
- >somewhat opaque (and apparently already obsolete.)
-
- You should find the following comments in the {MALibraries}Defaults.r file.
-
- resource 'view' (kDefaultViewID, "kDefaultViewID", purgeable) {
- {
- root, 'DFLT', {0, 0}, {134, 414}, sizeFixed, sizeFixed, shown, enabled,
- DefaultView {""} // A ClassName can be put in this string
- // or do a RegisterStdType to point to
- // something to create for a "Default View"
- }
- };
-
- Granted that that's not best place to put documentation, but that's where it
- is. In the near future, hidden marvels like this will be documented in the
- MacApp documentation suite, but until then, you can only find gems like these
- by spending a few evenings ignoring your family and reading the source code
- (that's probably why I don't even have a family...). If you look this up, check
- out the rest of the file while you're there, as there's lots of new neat stuff
- that MacApp now provides automagically™ for you:
-
- >In ß5, I avoided handle dereference checking, a new feature in pascal 3.0, by
- >aliasing pascal to "pascal -h".
-
- Chris correctly notes that you can use the "-h" option by attaching it to the
- "-pascal" option. However, I would also like to add that using this convenient
- method is asking for trouble. You can easily hide instances where you program
- can get into a situation where it will crash. Instead, if there are legitimate
- and *SAFE* cases where you need to pass a certain instance variable as a VAR
- and the Pascal compiler complains about it, you can turn off the checking
- locally with the {$PUSH}{$H-} and {$POP} options.
-
- >Does MacApp really turn off all handle dereference checking during compile?
-
- No, it doesn't. It used to be that you needed to do that if you were using
- MacApp 2.0ß5, but this is not longer necessary with MacApp 2.0ß9.
-
- >Now that the link works, when I run, the application crashes during
- >initialization.
- >In MacsBug the sc is
- >
- >myApplication +0024
- >DoFailure +0026
- >etc..
- >
- >where myApplication +0024 is
- >INITUMAPAPP
- >-apparently the InitUMacApp(8);
- >call.
-
- I don't know off the top of my head what's going on here. I did a "DumpObj" on
- "{MALibraries}.Debug Files:UFailure.a.o" (where DoFailure is) and found that
- "DoFailure +0026" corresponds to the second of these two lines.
-
- 00000024: Move.L(A0)+,A0 ; get address of failure handler
- 00000026: Jsr (A0) ; call failure handler
-
- So it looks to me that there may not be a valid failure handler set up at the
- time your application fails. I don't know why not, as I think MacApp provides a
- tippy-top level failure handler, but it may be something along those lines.
-
- >Sorry, I haven't had time to catch up on the MACAPP.TECH traffic, so I
- >am not sure if any of these questions have been discussed.
- >Time to find a dandelion patch to go for a walk in. -johnmark
-
- There are no more dandelion patches <sob!>. But the anxiety closet lives on...
-
- - Keith Rollin
- - Apple Developer Technical Support
-
-
-
-